home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / animal.bas < prev    next >
BASIC Source File  |  1986-01-12  |  2KB  |  40 lines

  1. 10 CLS:KEY OFF:DIM A$(2000)  'Animal
  2. 20 ON ERROR GOTO 380:OPEN "ANIMAL.DTA" FOR INPUT AS #1:INPUT #1,A$:N=VAL(A$):CLOSE #1
  3. 30 OPEN "ANIMAL.DTA" FOR INPUT AS #1:PRINT TAB(32);"ANIMAL":PRINT"CREATIVE COMPUTING, MORRISTOWN, NEW JERSEY":PRINT"Modified by Kurt Riegel, Arlington VA (703-522-5427)":PRINT:PRINT
  4. 40 PRINT"PLAY 'GUESS THE ANIMAL'":PRINT "THINK OF AN ANIMAL AND THE COMPUTER WILL TRY TO GUESS IT." :PRINT :FOR I=0 TO N-1 :INPUT #1, A$(I) :NEXT I :CLOSE #1 :M=VAL(A$(0)) 
  5. 50 '
  6. 60 '            MAIN CONTROL SECTION
  7. 70 PRINT:INPUT "ARE YOU THINKING OF AN ANIMAL";A$:IF A$="LIST" THEN GOSUB 330:GOTO 70
  8. 80 IF A$="NO" OR A$="N" THEN 390
  9. 90 IF LEFT$(A$,1)<>"Y" THEN 60 
  10. 100 K=1 
  11. 110 GOSUB 210:IF LEN(A$(K))=0 THEN 390 
  12. 120 IF LEFT$(A$(K),2)="\Q" THEN 110 
  13. 130 PRINT "IS IT A ";RIGHT$(A$(K),LEN(A$(K))-2); :INPUT A$ :A$=LEFT$(A$,1) :IF A$="Y" THEN PRINT "WHY NOT TRY ANOTHER ANIMAL?": GOTO 60 
  14. 140 INPUT "THE ANIMAL YOU WERE THINKING OF WAS A ";V$ :PRINT "PLEASE TYPE IN A QUESTION THAT WOULD DISTINGUISH A ":PRINT V$;" FROM A ";RIGHT$(A$(K),LEN(A$(K))-2) :INPUT X$ 
  15. 150 PRINT "FOR A ";V$;" THE ANSWER WOULD BE "; :INPUT A$ :A$=LEFT$(A$,1):IF A$<>"Y" AND A$<>"N" THEN 150 
  16. 160 IF A$="Y" THEN B$="N" 
  17. 170 IF A$="N" THEN B$="Y" 
  18. 180 Z1=VAL(A$(0)) :A$(0)=STR$(Z1+2) :A$(Z1)=A$(K) :A$(Z1+1)="\A"+V$
  19. 190 A$(K)="\Q"+X$+"\"+A$+STR$(Z1+1)+"\"+B$+STR$(Z1)+"\" :GOTO 60
  20. 200 '
  21. 210 '                        SUBROUTINE TO PRINT QUESTIONS
  22. 220 Q$=A$(K)
  23. 230 FOR Z=3 TO LEN(Q$) :IF MID$(Q$,Z,1)<>"\" THEN PRINT MID$(Q$,Z,1);:NEXT Z
  24. 240 INPUT C$ :C$=LEFT$(C$,1) :IF C$<>"Y" AND C$<>"N" THEN 230 
  25. 250 T$="\"+C$ :FOR X=3 TO LEN(Q$)-1 :IF MID$(Q$,X,2)=T$ THEN 270 
  26. 260 NEXT X :GOTO 390 
  27. 270 FOR Y=X+1 TO LEN(Q$) :IF MID$(Q$,Y,1)="\" THEN 290 
  28. 280 NEXT Y :GOTO 390 
  29. 290 K=VAL(MID$(Q$,X+2,Y-X-2)) :RETURN 
  30. 300 '
  31. 310 DATA "4","\QDOES IT SWIM\Y2\N3\","\ABASS","\AWREN"
  32. 320 '
  33. 330 PRINT:PRINT "ANIMALS I ALREADY KNOW ARE:" :X=0 :FOR I=1 TO 200 :IF LEFT$(A$(I),2)<>"\A" THEN 360
  34. 340 PRINT TAB(12+X); :FOR Z=3 TO LEN(A$(I)) :IF MID$(A$(I),Z,1)<>"\" THEN PRINT MID$(A$(I),Z,1);:NEXT Z 
  35. 350 X=X+1: IF X>5 THEN X=0: PRINT 
  36. 360 NEXT I :PRINT :PRINT:RETURN
  37. 370 '
  38. 380 FOR I=0 TO 3: READ A$(I): NEXT I:GOTO 60
  39. 390 OPEN "ANIMAL.DTA" FOR OUTPUT AS #1:FOR I=0 TO VAL(A$(0)): WRITE #1, A$(I): NEXT I:CLOSE #1:SYSTEM
  40.